package com.fan.shop.services;

import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.transaction.annotation.Transactional;

import com.fan.shop.dao.StoreDao;
import com.fan.shop.domain.Store;

@Named("storeService")
@Transactional(readOnly = true)
public class StoreServiceImpl implements StoreService {

	@Inject
	@Named("storeDao")
	private StoreDao storeDao;

	public StoreDao getStoreDao() {
		return storeDao;
	}

	public void setStoreDao(StoreDao storeDao) {
		this.storeDao = storeDao;
	}

	@SuppressWarnings("rawtypes")
	public List getList() {

		return storeDao.getAllStores();
	}

	public int getColumnsSize() {

		return storeDao.getColumnNames().size();
	}

	public Object copy(Object obj) {
		// TODO Auto-generated method stub
		return null;
	}

	public Store getStore(String storecode) {
		return storeDao.getStore(storecode);
	}

	public List<Store> getAllStores() {
		return storeDao.getAllStores();
	}

	public int getSize() {
		return getAllStores().size();
	}

	@Transactional(readOnly = false)
	public void addStore(Store store) {
		storeDao.addStore(store);

	}
	@Transactional(readOnly = false)
	public void updateStore(Store store) {
		storeDao.updateStore(store);
	}
	@Transactional(readOnly = false)
	public void deleteStore(Store store) {
		storeDao.deleteStore(store);
	}

	public boolean hasStore(String storecode) {
		return storeDao.hasStore(storecode);
	}

	public List<String> getColumnNames() {
		return storeDao.getColumnNames();
	}

}
